#include <iostream>
using namespace std;

int n;
int m;
int x;
int y;

bool ok(int r, int c, int mx[], int my[]) {
    for (int i = 0; i < 9; i++)
        if (r == mx[i] && c == my[i]) return 0;
    return 1;
}

long long dp[25][25];

int main() {
    cin >> n;
    cin >> m;
    cin >> x;
    cin >> y;
    int mx[9] = {x - 2, x - 1, x + 1, x + 2, x + 2, x + 1, x - 1, x - 2, x};
    int my[9] = {y - 1, y - 2, y - 2, y - 1, y + 1, y + 2, y + 2, y + 1, y};
    dp[0][0] = 1;
    for (int j = 1; j <= m; j++){
        if(!ok(0,j-1,mx,my) || !ok(0,j,mx,my)) dp[0][j] = 0;
        else dp[0][j] = 1;
    }
    for (int i = 1; i <= n; i++){
        if(!ok(i-1,0,mx,my) || !ok(i,0,mx,my)) dp[i][0] = 0;
        else dp[i][0] = 1;
    }
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= m; j++) {
            if (!ok(i, j, mx, my))
                dp[i][j] = 0;
            else
                dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
        }
    }
    cout << dp[n][m] << endl;
    return 0;
}